debris [Fri, 11 Aug 2017 15:39:18 +0000 (17:39 +0200)]
Fix implementation and tests for cannot-be-a-base-url canonicalization
debris [Fri, 11 Aug 2017 14:25:19 +0000 (16:25 +0200)]
Fixed panic when canonicalizing not-a-base-url, fixes #4394
bors [Fri, 11 Aug 2017 07:28:15 +0000 (07:28 +0000)]
Auto merge of #4396 - vignesh-sankaran:documentation-blacklist-list-fix, r=matklad
Fix list rendering in manifest.md
Fixes a list rendering problem introduced in #4237.
Vignesh [Fri, 11 Aug 2017 05:18:21 +0000 (15:18 +1000)]
Fix list rendering for blacklisted hosts
bors [Thu, 10 Aug 2017 09:04:21 +0000 (09:04 +0000)]
Auto merge of #4390 - alexcrichton:read-hard-links, r=matklad
Use `same-file` to avoid unnecessary hard links
This is targeted at removing the need for a workaround in rust-lang/rust#39518,
allowing the main rust build system to move back to hard links which should be
much more efficient.
bors [Thu, 10 Aug 2017 05:11:28 +0000 (05:11 +0000)]
Auto merge of #4386 - pornel:backups, r=alexcrichton
Exclude target directory from Time Machine
Fixes #3884
Kornel [Wed, 9 Aug 2017 14:41:53 +0000 (15:41 +0100)]
Exclude target directory from Time Machine
Temporary/derived files outside dedicated system directories should be explicitly excluded from backups to prevent undesirable bloat and churn.
Alex Crichton [Thu, 10 Aug 2017 00:22:34 +0000 (17:22 -0700)]
Use `same-file` to avoid unnecessary hard links
This is targeted at removing the need for a workaround in rust-lang/rust#39518,
allowing the main rust build system to move back to hard links which should be
much more efficient.
bors [Wed, 9 Aug 2017 17:42:20 +0000 (17:42 +0000)]
Auto merge of #4384 - ivanbakel:unused_mut, r=alexcrichton
Fixed some variables being unnecessarily mutable
### Changes
Some variables are marked `mut` when they don't need to be. This PR changes those variables to no longer be `mut`.
### Context
PR on https://github.com/rust-lang/rust/pull/43582
tl:dr; There's a bug with the mutability checker that sometimes marks mutable ref variables as being used when they're not.
bors [Wed, 9 Aug 2017 16:30:21 +0000 (16:30 +0000)]
Auto merge of #4382 - Xanewok:expose-filter-rule, r=alexcrichton
Expose ops::cargo_compile::FilterRule
I've been mindlessly copying and consuming the Cargo API to work on the build plan prototype for RLS and I noticed that, it seems, pub `ops::cargo_compile::CompileFilter` is exported, but not the `ops::cargo_compile::FilterRule`, which `CompileFilter` uses, as a part of a public API.
If I'm wrong and missing something, feel free to ignore/close it. It was possible to match/destructure `CompileFilter` before, but with this change it's possible to use the underlying type.
Isaac van Bakel [Wed, 9 Aug 2017 15:11:04 +0000 (16:11 +0100)]
Fixed instance in Windows cfg.
Isaac van Bakel [Wed, 9 Aug 2017 14:37:54 +0000 (15:37 +0100)]
Fixed variables being unnecessarily mut.
bors [Wed, 9 Aug 2017 14:33:51 +0000 (14:33 +0000)]
Auto merge of #4378 - behnam:ignore, r=alexcrichton
[sources/path] Support leading slash in glob patterns
Background: https://github.com/rust-lang/cargo/issues/4268
This diff takes us to **Stage 1.1** of the migration plan by allowing
glob patterns to include a leading slash, so that glob patterns can be
updated, if needed, to start with a slash, closer to the future behavior
with gitignore-like matching.
Why is this stage needed?
It's common to have `package.include` set like this:
```
include = ["src/**"]
```
In old interpretation, this would only include all files under the `src`
directory under the package root. With the new interpretation, this
would match any path with some directory called `src`, even if it's not
directly under the package root.
After this patch, package owners can start marking glob patters with a
leading slash to fix the warning thrown, if any.
One thing to notice here is that there are no extra matchings, but, if
a manifest has already a pattern with a leading slash, this would
silently start matching it with the paths. I believe this is fine, since
the old behavior would have been for the pattern to not match anything,
therefore the item was useless.
See also <https://github.com/rust-lang/cargo/issues/4377> for suggestion
to throw warning on useless/invalid patterns in these fields.
bors [Wed, 9 Aug 2017 14:10:12 +0000 (14:10 +0000)]
Auto merge of #3611 - tylerwhall:stable-metadata, r=alexcrichton
Stable metadata hashes across workspaces
Currently a crate from a path source will have its metadata hash incorporate its absolute path on the system where it is built. This always impacts top-level crates, which means that compiling the same source with the same dependencies and compiler version will generate libraries with symbol names that vary depending on where the workspace resides on the machine.
This is hopefully a general solution to the hack we've used in meta-rust to make dynamic linking reliable.
meta-rust/meta-rust@
0e6cf94
For paths inside the Cargo workspace, hash their SourceId relative to the root of the workspace. Paths outside of a workspace are still hashed as absolute.
This stability is important for reproducible builds as part of a larger build system that employs caching of artifacts, such as OpenEmbedded.
OpenEmbedded tightly controls all inputs to a build and its caching assumes that an equivalent artifact will always result from the same set of inputs. The workspace path is not considered to be an influential input, however.
For example, if Cargo is used to compile libstd shared objects which downstream crates link to dynamically, it must be possible to rebuild libstd given the same inputs and produce a library that is at least link-compatible with the original. If the build system happens to cache the downstream crates but needs to rebuild libstd and the user happens to be building in a different workspace path, currently Cargo will generate a library incompatible with the original and the downstream executables will fail at runtime on the target.
Igor Matuszewski [Tue, 8 Aug 2017 11:01:44 +0000 (13:01 +0200)]
Expose ops::cargo_compile::FilterRule
bors [Tue, 8 Aug 2017 00:58:29 +0000 (00:58 +0000)]
Auto merge of #4376 - behnam:virtual, r=alexcrichton
[docs/manifest] Add Virtual Manifest section
Current documentation does not mention Virtual Manifests at all, which
can be confusing because they appear in error messages.
Here we add the definition, and provide a hint about `--all` option for
most cargo commands, which allow the command to work in the way most
probably expected.
Fixes <https://github.com/rust-lang/cargo/issues/3526>
bors [Tue, 8 Aug 2017 00:05:36 +0000 (00:05 +0000)]
Auto merge of #4374 - behnam:new-init, r=alexcrichton
[cargo_new] Hint to use `cargo init` on existing dir
The `new` command always expects a non-existing path. The `init` command
always expects an existing path. Therefore, it makes sense to hint to
use `init` if the pre-condition to `new` is not satisfied.
Fixes <#4366>
bors [Mon, 7 Aug 2017 23:40:25 +0000 (23:40 +0000)]
Auto merge of #4375 - behnam:root-vs-repo, r=alexcrichton
[docs] Update language regarding repository vs package root
In the current documentation, there are many places with language that
assumes a *repository* (as in VCS) is the same as *package root* (the
directory where `Cargo.toml` sits).
With the new workspace features, this is far from true now, and the
inaccurate language makes it difficault for newbies or developers
without much familiarity with the cargo internals with authoring their
manifest files.
This diff tries to use the right terms for places any of these concepts
is referred to:
* Package root,
* Workspace root,
* VCS repository, and
* Package repository/index, like crates.io.
Fixes <https://github.com/rust-lang/cargo/issues/4367>
Behnam Esfahbod [Mon, 7 Aug 2017 19:48:12 +0000 (12:48 -0700)]
[sources/path] Support leading slash in glob patterns
Background: https://github.com/rust-lang/cargo/issues/4268
This diff takes us to **Stage 1.1** of the migration plan by allowing
glob patterns to include a leading slash, so that glob patterns can be
updated, if needed, to start with a slash, closer to the future behavior
with gitignore-like matching.
Why is this stage needed?
It's common to have `package.include` set like this:
```
include = ["src/**"]
```
In old interpretation, this would only include all files under the `src`
directory under the package root. With the new interpretation, this
would match any path with some directory called `src`, even if it's not
directly under the package root.
After this patch, package owners can start marking glob patters with a
leading slash to fix the warning thrown, if any.
One thing to notice here is that there are no extra matchings, but, if
a manifest has already a pattern with a leading slash, this would
silently start matching it with the paths. I believe this is fine, since
the old behavior would have been for the pattern to not match anything,
therefore the item was useless.
See also <https://github.com/rust-lang/cargo/issues/4377> for suggestion
to throw warning on useless/invalid patterns in these fields.
Behnam Esfahbod [Mon, 7 Aug 2017 18:44:34 +0000 (11:44 -0700)]
[docs/manifest] Add Virtual Manifest section
Current documentation does not mention Virtual Manifests at all, which
can be confusing because they appear in error messages.
Here we add the definition, and provide a hint about `--all` option for
most cargo commands, which allow the command to work in the way most
probably expected.
Fixes <https://github.com/rust-lang/cargo/issues/3526>
Behnam Esfahbod [Mon, 7 Aug 2017 18:26:53 +0000 (11:26 -0700)]
[docs] Wrap long lines
Behnam Esfahbod [Mon, 7 Aug 2017 18:11:36 +0000 (11:11 -0700)]
[docs] Update language regarding repository vs package root
In the current documentation, there are many places with language that
assumes a *repository* (as in VCS) is the same as *package root* (the
directory where `Cargo.toml` sits).
With the new workspace features, this is far from true now, and the
inaccurate language makes it difficault for newbies or developers
without much familiarity with the cargo internals with authoring their
manifest files.
This diff tries to use the right terms for places any of these concepts
is referred to:
* Package root,
* Workspace root,
* VCS repository, and
* Package repository/index, like crates.io.
Behnam Esfahbod [Mon, 7 Aug 2017 16:31:32 +0000 (09:31 -0700)]
[cargo_new] Hint to use `cargo init` on existing dir
The `new` command always expects a non-existing path. The `init` command
always expects an existing path. Therefore, it makes sense to hint to
use `init` if the pre-condition to `new` is not satisfied.
Fixes <https://github.com/rust-lang/cargo/issues/4366>
Behnam Esfahbod [Mon, 7 Aug 2017 16:05:02 +0000 (09:05 -0700)]
[bin/init] Update USAGE
bors [Mon, 7 Aug 2017 04:12:18 +0000 (04:12 +0000)]
Auto merge of #4372 - frankmcsherry:patch-1, r=alexcrichton
Modernize explanation of `build.rs`
After some recent head-banging, it was explained to me that `"build.rs"` is a special file name, and that Cargo will build such a file even if you do not expect it to, for example if `Cargo.toml` contains the commented out line
```
#build = "build.rs"
```
Some experimentation lead me to the described behavior, but if it misses any subtle details please feel free to correct. The old text is incorrect, though.
bors [Mon, 7 Aug 2017 03:49:33 +0000 (03:49 +0000)]
Auto merge of #4369 - Wallacoloo:specifying-dependencies-typo, r=alexcrichton
Fix repeated "to to" in Specifying Dependencies
Fixes the typo:
> [...] boil down to the ability to **to** work with a crate [...]
Frank McSherry [Sun, 6 Aug 2017 20:57:13 +0000 (16:57 -0400)]
Modernize explanation of `build.rs`
After some recent head-banging, it was explained to me that `"build.rs"` is a special file name, and that Cargo will build such a file even if you do not expect it to, for example if `Cargo.toml` contains the commented out line
```
#build = "build.rs"
```
Some experimentation lead me to the described behavior, but if it misses any subtle details please feel free to correct. The old text is incorrect, though.
Colin Wallace [Sun, 6 Aug 2017 02:01:24 +0000 (19:01 -0700)]
Fix repeated "to to" in Specifying Dependencies
bors [Fri, 4 Aug 2017 09:28:33 +0000 (09:28 +0000)]
Auto merge of #4355 - pornel:docs, r=alexcrichton
Expand profile settings descriptions
Flags were described in the format `foobar = true # controls foobar, passes '--foobar' flag`, but this doesn't actually say what `foobar` does. I've expanded the descriptions a little to provide more context.
bors [Fri, 4 Aug 2017 08:21:55 +0000 (08:21 +0000)]
Auto merge of #4360 - sid0:members, r=matklad
workspace: export Members as part of the public interface
This struct is returned by `Workspace::members`, but there's no way to
refer to it since it's not exported.
Siddharth Agarwal [Fri, 4 Aug 2017 05:33:27 +0000 (22:33 -0700)]
workspace: export Members as part of the public interface
This struct is returned by `Workspace::members`, but there's no way to
refer to it since it's not exported.
bors [Fri, 4 Aug 2017 03:52:35 +0000 (03:52 +0000)]
Auto merge of #4359 - sid0:debug, r=alexcrichton
derive Debug for more data structures
This makes it easier for wrappers around Cargo to inspect the contents
of these data structures.
Siddharth Agarwal [Fri, 4 Aug 2017 01:45:59 +0000 (18:45 -0700)]
derive Debug for more data structures
This makes it easier for wrappers around Cargo to inspect the contents
of these data structures.
bors [Thu, 3 Aug 2017 15:01:06 +0000 (15:01 +0000)]
Auto merge of #4237 - vignesh-sankaran:blacklist-url-doc, r=carols10cents
Added documentation blacklisting notes
Added notes regarding [documentation domain blacklisting](https://github.com/rust-lang/crates.io/issues/626) on crates.io
Kornel [Wed, 2 Aug 2017 17:11:02 +0000 (18:11 +0100)]
Expand profile settings descriptions
bors [Mon, 31 Jul 2017 21:31:02 +0000 (21:31 +0000)]
Auto merge of #4345 - froydnj:use-noop-more, r=alexcrichton
use Work::noop() more
Using Work::noop() in these places is clearer.
bors [Mon, 31 Jul 2017 20:31:58 +0000 (20:31 +0000)]
Auto merge of #4344 - froydnj:cargo-rustc-spelling-fixes, r=alexcrichton
fix some spelling errors in cargo_rustc
Nathan Froyd [Mon, 31 Jul 2017 19:59:14 +0000 (15:59 -0400)]
use Work::noop() more
Using Work::noop() in these places is clearer.
bors [Mon, 31 Jul 2017 19:42:41 +0000 (19:42 +0000)]
Auto merge of #4342 - sid0:hgignore, r=alexcrichton
new: fix hgignore for real
There was an attempt to fix hgignore in #4158, but unfortunately the fix
was incorrect -- hgignore glob syntax is not in fact identical to
gitignore syntax.
To get rooted ignores in Mercurial we must use the regex-based syntax,
so we have no choice but to define a separate set of ignores.
Nathan Froyd [Mon, 31 Jul 2017 19:26:44 +0000 (15:26 -0400)]
fix some spelling errors in cargo_rustc
bors [Mon, 31 Jul 2017 19:13:35 +0000 (19:13 +0000)]
Auto merge of #4343 - sid0:debug, r=alexcrichton
derive/impl Debug for a few data structures
I found this to be extremely useful while trying to write a wrapper on
top of cargo.
Siddharth Agarwal [Mon, 31 Jul 2017 16:38:43 +0000 (09:38 -0700)]
derive/impl Debug for a few data structures
I found this to be extremely useful while trying to write a wrapper on
top of cargo.
Siddharth Agarwal [Mon, 31 Jul 2017 01:15:24 +0000 (18:15 -0700)]
new: fix hgignore for real
There was an attempt to fix hgignore in #4158, but unfortunately the fix
was incorrect -- hgignore glob syntax is not in fact identical to
gitignore syntax.
To get rooted ignores in Mercurial we must use the regex-based syntax,
so we have no choice but to define a separate set of ignores.
bors [Sun, 30 Jul 2017 17:51:50 +0000 (17:51 +0000)]
Auto merge of #4340 - debris:fixed_4310, r=alexcrichton
Fixed #4310, print useful message when dependency contains a malformed Cargo.toml
fixed #4310
debris [Sun, 30 Jul 2017 14:15:35 +0000 (16:15 +0200)]
Removed redundant unwrap
debris [Sun, 30 Jul 2017 14:12:18 +0000 (16:12 +0200)]
fixed #4310, print useful information when git Cargo.toml is malformed
bors [Fri, 28 Jul 2017 22:40:15 +0000 (22:40 +0000)]
Auto merge of #4338 - GuillaumeGomez:lint, r=alexcrichton
Update to rc error chain
In order to make https://github.com/rust-lang/rust/pull/43009 works, I needed some small updates that are now in error-chain.
Guillaume Gomez [Fri, 28 Jul 2017 19:37:08 +0000 (21:37 +0200)]
Update error-chain dep for crates-io as well
Guillaume Gomez [Fri, 28 Jul 2017 19:12:05 +0000 (21:12 +0200)]
Update to rc error chain
bors [Fri, 28 Jul 2017 16:07:08 +0000 (16:07 +0000)]
Auto merge of #4216 - durka:install-multi, r=alexcrichton
cargo install multiple crates
rust-lang-nursery/rustup.rs#986 for `cargo install`
Revives #2601 @pwoolcoc, replaces #3075 @esclear, closes #2585 @kindlychung @cyplo
Avoids the sticking point of the previous two PRs (multiple registry updates) by threading through a first-run boolean flag to decide whether `select_pkg` needs to call `source.update()`.
There is still the issue that flags such as `--git` and `--vers` are "global" to the multiple packages you may be installing. The workaround is just to run `cargo install` separately. In the future we could add syntax like `cargo install foo=1.0 bar=2.5 quux=git://github.com/durka/quux#dev-branch` or something.
bors [Fri, 28 Jul 2017 11:55:38 +0000 (11:55 +0000)]
Auto merge of #4335 - debris:rebased_4021, r=matklad
Rebased and fixed 4025: Apply --all if workspace is virtual
- fixes #4021
- rebased #4025
- fixed issue issue described by @matklad in https://github.com/rust-lang/cargo/pull/4025#pullrequestreview-
40660570
- added test `build_virtual_manifest_one_project` which covers the fix
debris [Fri, 28 Jul 2017 11:51:16 +0000 (13:51 +0200)]
Updated build_virtual_manifest_one_project test
debris [Fri, 28 Jul 2017 09:19:54 +0000 (11:19 +0200)]
Fixed test_virtual_manifest_all_implied test
debris [Thu, 27 Jul 2017 21:20:34 +0000 (23:20 +0200)]
Fixed bench_virtual_manifest_all_implied test
debris [Thu, 27 Jul 2017 20:44:45 +0000 (22:44 +0200)]
Proper building virtual manifest with -p flag
Romain Sertelon [Fri, 26 May 2017 21:00:45 +0000 (23:00 +0200)]
Adds tests
Romain Sertelon [Wed, 10 May 2017 21:30:32 +0000 (23:30 +0200)]
Apply --all if workspace is virtual
Should help close #4021
bors [Thu, 27 Jul 2017 07:04:32 +0000 (07:04 +0000)]
Auto merge of #4331 - joshtriplett:fix-notices, r=matklad
Remove inaccurate (misattributed) copyright notices
As discussed with @aturon, who took it to @rust-lang/core.
LICENSE-MIT and one source file contain inaccurate copyright notices of
the form "Copyright (c) (years) The Rust Project Developers", which
implies that an entity called "The Rust Project Developers" holds
copyrights in Rust. Rust contributors retain their copyrights, and do
not assign them to anyone by contributing. Remove the inaccurate
notices.
Vignesh Sankaran [Thu, 27 Jul 2017 05:02:16 +0000 (15:02 +1000)]
Cleaned up notes about documentation blacklisting
Vignesh [Wed, 28 Jun 2017 13:19:50 +0000 (23:19 +1000)]
Added documentation blacklisting notes
Josh Triplett [Thu, 27 Jul 2017 00:19:24 +0000 (17:19 -0700)]
Remove inaccurate (misattributed) copyright notices
LICENSE-MIT and one source file contain inaccurate copyright notices of
the form "Copyright (c) (years) The Rust Project Developers", which
implies that an entity called "The Rust Project Developers" holds
copyrights in Rust. Rust contributors retain their copyrights, and do
not assign them to anyone by contributing. Remove the inaccurate
notices.
bors [Wed, 26 Jul 2017 07:34:23 +0000 (07:34 +0000)]
Auto merge of #4329 - behnam:dev, r=matklad
[doc/manifest] Add build-dependencies to Dependency sections list
The `[build-dependencies]` section was missing from the Dependency
sections list, making it hard to find its existence and link to
`specifying-dependencies` page. This puts the section title in the list,
so a normal find works.
Background: https://github.com/rust-lang/cargo/issues/4309#issuecomment-
317965620
Behnam Esfahbod [Wed, 26 Jul 2017 06:59:56 +0000 (00:59 -0600)]
[doc/manifest] Add build-dependencies to Dependency sections list
The `[build-dependencies]` section was missing from the Dependency
sections list, making it hard to find its existence and link to
`specifying-dependencies` page. This puts the section title in the list,
so a normal find works.
Background: https://github.com/rust-lang/cargo/issues/4309#issuecomment-
317965620
Alex Burka [Tue, 25 Jul 2017 19:36:42 +0000 (15:36 -0400)]
nonzero exit code if some crates didn't install
Alex Burka [Tue, 25 Jul 2017 19:36:01 +0000 (15:36 -0400)]
use top level err handling
Alex Burka [Mon, 24 Jul 2017 23:25:46 +0000 (19:25 -0400)]
don't continue if single install errors
bors [Sat, 22 Jul 2017 20:53:06 +0000 (20:53 +0000)]
Auto merge of #4317 - iKevinY:options-unit-struct, r=matklad
Convert Options struct into unit struct
Unit struct support was added in Docopt 0.8.1 via docopt/docopt.rs#217. Fixes #4174.
Kevin Yap [Sat, 22 Jul 2017 19:57:55 +0000 (12:57 -0700)]
Convert Options struct into unit struct
Unit struct support was added in Docopt 0.8.1 via
docopt/docopt.rs#217. Fixes #4174.
bors [Fri, 21 Jul 2017 20:52:24 +0000 (20:52 +0000)]
Auto merge of #4305 - nodakai:fix-4278-tests-on-empty-ld_library_path, r=matklad
tests/build.rs: remove empty components from LD_LIBRARY_PATH to fix #4278
The tests intended to ensure Cargo wouldn't mistakenly add empty components to `LD_LIBRARY_PATH` (or its equivalents) but they could fail when the test runner already had empty components in `LD_LIBRARY_PATH` from their environment.
NODA, Kai [Wed, 19 Jul 2017 13:59:50 +0000 (21:59 +0800)]
tests/build.rs: remove empty components from LD_LIBRARY_PATH
This is to amend PR #4278
The tests intended to ensure Cargo wouldn't mistakenly add empty
components to LD_LIBRARY_PATH (or its equivalents) but they could fail
when the test runner already had empty components in LD_LIBRARY_PATH
from their environment.
Signed-off-by: NODA, Kai <nodakai@gmail.com>
bors [Thu, 20 Jul 2017 17:06:30 +0000 (17:06 +0000)]
Auto merge of #4303 - bluetech:doc-env-cfg, r=alexcrichton
Document the CARGO_CFG_* environment variables - fixes #4302
In order to keep the paragraph brief, I have omitted:
- examples of actual variable names - though adding those might help google.
- mention of `rustc --print cfg` - I think the link to the reference is enough.
- reference to the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md#lowering-cfg-values-to-cargo-build-script-environment-variables) - I don't think it's needed.
bors [Thu, 20 Jul 2017 16:03:36 +0000 (16:03 +0000)]
Auto merge of #4308 - alexcrichton:bump, r=alexcrichton
Bump to 0.22.0 and update deps
Alex Crichton [Thu, 20 Jul 2017 15:56:49 +0000 (08:56 -0700)]
Work around AppVeyor for now
Alex Crichton [Thu, 20 Jul 2017 15:34:13 +0000 (08:34 -0700)]
Bump to 0.22.0 and update deps
Ran Benita [Wed, 19 Jul 2017 22:30:32 +0000 (01:30 +0300)]
Document the CARGO_CFG_* environment variables - fixes #4302
bors [Wed, 19 Jul 2017 02:10:52 +0000 (02:10 +0000)]
Auto merge of #4299 - brson:home, r=alexcrichton
Replace homedir definition with home crate
This pulls out the definitions of these functions into a single crate, [home](https://github.com/brson/home), to act as their canonical definition.
This has a bigger impact on rustup, since it is using definitions of all these things, where cargo is just defining cargo_home in terms of std's wrong home_dir.
The [definition of cargo_home](https://github.com/brson/home/blob/master/src/lib.rs#L179) used here is slightly different than what cargo has today in that it contains a bit of defensive code to avoid allowing `CARGO_HOME` to be set to `.multirust/cargo` - this is backwards compatibility code from rustup.
bors [Wed, 19 Jul 2017 00:57:30 +0000 (00:57 +0000)]
Auto merge of #4298 - behnam:ignore, r=alexcrichton
[src/doc/manifest] Add section on Migrating to `gitignore`-like pattern matching
Tracking issue: https://github.com/rust-lang/cargo/issues/4268
Behnam Esfahbod [Tue, 18 Jul 2017 23:16:50 +0000 (17:16 -0600)]
[src/doc/manifest] Add section on Migrating to `gitignore`-like pattern matching
Tracking issue: https://github.com/rust-lang/cargo/issues/4268
Brian Anderson [Tue, 18 Jul 2017 23:42:51 +0000 (16:42 -0700)]
Replace homedir definition with home crate
bors [Tue, 18 Jul 2017 18:51:34 +0000 (18:51 +0000)]
Auto merge of #4123 - alexcrichton:augment, r=matklad
Implement the [patch] section of the manifest
This is an implementation of [RFC 1969] which adds a new section to top-level
manifests: `[patch]`. This section allows you to augment existing sources with
new versions of crates, possibly replacing the versions that already exist in
the source. More details about this feature can be found in the RFC itself.
[RFC 1969]: https://github.com/rust-lang/rfcs/pull/1969
Alex Crichton [Fri, 12 May 2017 18:07:46 +0000 (11:07 -0700)]
Implement the [patch] section of the manifest
This is an implementation of [RFC 1969] which adds a new section to top-level
manifests: `[patch]`. This section allows you to patch existing sources with
new versions of crates, possibly replacing the versions that already exist in
the source. More details about this feature can be found in the RFC itself.
[RFC 1969]: https://github.com/rust-lang/rfcs/pull/1969
bors [Tue, 18 Jul 2017 16:04:11 +0000 (16:04 +0000)]
Auto merge of #4270 - behnam:ignore, r=alexcrichton
[sources/path] Add gitignore-like pattern matching and warn on mismatches
Add gitignore-like pattern matching logic to `list_files()` and throw
warnings for paths getting different inclusion/exclusion results from
the old and the new methods.
Migration Tracking: <#4268>
bors [Tue, 18 Jul 2017 14:09:10 +0000 (14:09 +0000)]
Auto merge of #4295 - xftroxgpx:use_full_path_in_warning_for_issue4293, r=matklad
Fixes #4293
locally tested with:
`cargo test legacy_ many_crate_types_old_style_lib_location`
xftroxgpx [Tue, 18 Jul 2017 14:05:50 +0000 (16:05 +0200)]
remove leftover { }
xftroxgpx [Tue, 18 Jul 2017 13:05:35 +0000 (15:05 +0200)]
Fixes #4293
locally tested with:
cargo test legacy_ many_crate_types_old_style_lib_location
bors [Tue, 18 Jul 2017 12:34:41 +0000 (12:34 +0000)]
Auto merge of #4292 - xftroxgpx:unconfuse_bin_name, r=matklad
quote the binary name in the warning
to avoid confusion when the warning happens inside a workspace, example:
pwd is rustlearnage/rust_books/1_first_edition/closures/
and `cargo run` shows:
```
warning: path `src/main.rs` was erroneously implicitly accepted for binary match,
please set bin.path in Cargo.toml
```
(note that 'match' is not quoted, so it's confusing)
the 'match' project that it's referring to is in rustlearnage/rust_books/1_first_edition/match/
(note: Cargo.toml [workspace] is in rustlearnage/ )
xftroxgpx [Tue, 18 Jul 2017 12:32:18 +0000 (14:32 +0200)]
quoting library and benchmark names in warning
xftroxgpx [Tue, 18 Jul 2017 09:13:34 +0000 (11:13 +0200)]
quote the binary name in the warning
to avoid confusion when the warning happens inside a workspace, example:
pwd is rustlearnage/rust_books/1_first_edition/closures/
and `cargo run` shows:
warning: path `src/main.rs` was erroneously implicitly accepted for binary match,
please set bin.path in Cargo.toml
(note that 'match' is not quoted, so it's confusing)
the 'match' project that it's referring to is in rustlearnage/rust_books/1_first_edition/match/
(note: Cargo.toml [workspace] is in rustlearnage/ )
Behnam Esfahbod [Fri, 7 Jul 2017 18:52:03 +0000 (12:52 -0600)]
[sources/path] Add gitignore-like pattern matching and warn on mismatches
Add gitignore-like pattern matching logic to `list_files()` and throw
warnings for paths getting different inclusion/exclusion results from
the old and the new methods.
Migration Tracking: <https://github.com/rust-lang/cargo/issues/4268>
bors [Mon, 17 Jul 2017 22:52:23 +0000 (22:52 +0000)]
Auto merge of #4289 - johnthagen:usage-fix, r=alexcrichton
Add "uninstall" command to cargo --help
Closes #4285
bors [Mon, 17 Jul 2017 14:32:21 +0000 (14:32 +0000)]
Auto merge of #4288 - matklad:bench-bench, r=alexcrichton
Allow `src/bench.rs` as a benchmark for legacy reasons
closes #4287
cc #3947
johnthagen [Mon, 17 Jul 2017 12:46:36 +0000 (08:46 -0400)]
Add "uninstall" command to cargo --help
bors [Mon, 17 Jul 2017 10:37:08 +0000 (10:37 +0000)]
Auto merge of #4286 - cbcoutinho:master, r=matklad
Fix typo in zsh _cargo completions
None
Aleksey Kladov [Mon, 17 Jul 2017 10:10:47 +0000 (13:10 +0300)]
Allow `src/bench.rs` as a benchmark for legacy reasons
closes #4287
cc #3947
Chris Coutinho [Sun, 16 Jul 2017 17:35:31 +0000 (19:35 +0200)]
Fix typo in zsh _cargo completions
bors [Thu, 13 Jul 2017 14:48:46 +0000 (14:48 +0000)]
Auto merge of #4279 - tee-too:fix-3499, r=alexcrichton
Fix support of `[target.'cfg(...)']` syntax for rustc and rustdoc flags
Support of `[target.'cfg(...)']` for rustc and rustdoc flags is buggy.
This adds meaningful tests and fixes the issue.
Fixes #3499
tee-too [Thu, 13 Jul 2017 11:24:28 +0000 (13:24 +0200)]
Fix support of `[target.'cfg(...)']` syntax for rustc and rustdoc flags
Support of `[target.'cfg(...)']` for rustc and rustdoc flags is buggy.
This adds meaningful tests and fixes the issue.
Fixes #3499
bors [Thu, 13 Jul 2017 04:58:41 +0000 (04:58 +0000)]
Auto merge of #4278 - mbrubeck:path, r=alexcrichton
Don't push empty paths in LD_LIBRARY_PATH
Fixes #4277. Note: I haven't written a test for this fix yet.
Matt Brubeck [Thu, 13 Jul 2017 03:28:39 +0000 (20:28 -0700)]
Don't push empty paths in LD_LIBRARY_PATH
Fixes #4277.
bors [Wed, 12 Jul 2017 21:17:06 +0000 (21:17 +0000)]
Auto merge of #4275 - alexcrichton:revert-makeflags, r=alexcrichton
Don't set MAKEFLAGS for build scripts
Closes #4156
Closes rust-lang/rust#42635